package validate

import (
	"gin/common"
	"github.com/Gre-Z/common/jtime"
)

type AddWordSimilarWrapper struct {
	Data AddWordSimilar `json:"data" binding:"required"`
}

type UpdateWordSimilarWrapper struct {
	Data UpdateWordSimilar `json:"data" binding:"required"`
}
type UpdateWordSimilar struct {
	Id         uint64           `json:"id" binding:"required"`
	Word       string           `json:"word" binding:"required,max=255"`
	SourceWord string           `json:"source_word" binding:"required,max=255"`
	Created    jtime.TstampTime `json:"created"`
}

type AddWordSimilar struct {
	Id         uint64           `json:"id"`
	Word       string           `json:"word" binding:"required,max=255"`
	SourceWord string           `json:"source_word" binding:"required,max=255"`
	Created    jtime.TstampTime `json:"created"`
}

type SelectWordSimilarQuery struct {
	Param common.QueryParam `json:"param" binding:"required"`
}

type DeleteWordSimilarParam struct {
	Param common.Filter `json:"param" binding:"required"`
}

type QuerySimilarWordWithAnalysis struct {
	Word    string `json:"word" binding:"required,max=255"`
	IsAsync string `json:"is_async" binding:"max=3"`
	Number  uint64 `json:"number" binding:"max=200,min=1"`
}
